<?php


require_once 'AccesBBDD.class.php';
require_once 'Perfils.class.php';
class Privilegis{
	
	
	//Funcio encarregada de buscar un id_privilegi parametrant-li un nom nom de privilegi
Function comparaPrivis($resultSet, $perfil_nom){
	$perf=new Perfils();
	if($perf->crearTipusPerfil($perfil_nom)){
		while ($arr_resul= mysql_fetch_assoc($resultSet)){
			//$perf=new Perfils();
			$pri=new Privilegis();
			$nom=$arr_resul['nom'];
			if ($_POST[$nom]=='on'){
				$id_privilegi=$pri->trobarIdPrivi($nom);
				$perf->associarPerfPrivi();
			}
		}
	}else{
		//$perf=new Perfils();
		$pri=new Privilegis();
		echo "lili";
		//$perf->eliminar();	
		
	}
}
	
	
	Function trobarIdPrivi($nom){
		
	$sql="SELECT id_privilegi FROM tipus_privilegis where nom='".$nom."'";
	$bd=new AccesBBDD();
	$bd->conectar();
	$resultat=$bd->consultar($sql);
	$resultSet=$resultat;
	$arr_resul= mysql_fetch_assoc($resultSet);
	$id=$arr_resul['id_privilegi'];
	//echo $id." abans e tot";
	if (!$resultat)
	echo "error";
	
	$bd->desconectar();
	return $id;
		
		
	}
	
	//Funcion encarregada de llistar tots el privilegis introduits en la BD. la taula afectada es: Tipus_pivilegi.
	Function llistarPrivilegis(){
	
	$sql="SELECT * FROM tipus_privilegis";
	$bd=new AccesBBDD();
	$bd->conectar();
	$resultat=$bd->consultar($sql);
	
	$resultSet=$resultat;
	if (!$resultat)
	echo "error";
	
	$bd->desconectar();
	
	return $resultSet;
		
		
		
	}
	
	// Funcio encarregada de Crear un privilegi a partir dún nom de privilegi -> paràmetre.
Function crearPrivilegi($nom_privilegi){
	
		$sql='INSERT INTO tipus_privilegis VALUES ("","'.$nom_privilegi.'")';
		$bd=new AccesBBDD();
		$bd->conectar();
		$bd->modificar($sql);
		$bd->desconectar();
	
	
}


// Funció encarregada de borrar un privilegi a partir dún nom de privilegi->paràmetre.
Function borrarPrivilegi($nom_privilegi){
	
	$sql='DELETE FROM tipus_privilegis WHERE nom="'.$nom_privilegi.'"';
		$bd=new AccesBBDD();
		$bd->conectar();
		$bd->modificar($sql);
		
		$bd->desconectar();
	
	
	
}

//Funció encarregada de modificar el nom d'un privilegi. Hem de passar-lhi el nom a canviar, i el nom de canvi.
Function modificarPrivilegi($nom_privilegi, $canvi){
	
		$sql='UPDATE SET nom="'.$canvi.'" FROM tipus_privilegis WHERE nom="'.$nom_privilegi.'"';
		$bd=new AccesBBDD();
		$bd->conectar();
		$bd->modificar_taula($sql);
		
	
		$bd->desconectar();
	
}


// funcio queretorna un Arrays de tots el privi possibles de l'usuari
function  retornPrivilegis($id_usuari){
	
	$sql="SELECT privi.nom FROM tipus_perfils tp, perfils pe, tipus_privilegis privi where (pe.Id_usuari=".$id_usuari.") AND (pe.id_tipus_perfil=tp.id_tipus_perfil) AND (tp.id_privilegi=privi.id_privilegi)";
	$bd=new AccesBBDD();
	$bd->conectar();
	$resultSet=$bd->consultar($sql);
	$matriu=mysql_fetch_array($resultSet);
	$bd->desconectar();
	return $matriu;
	//return $nom_privilegis // Arrays de tots el privi possibles de l'usuari
} 	

//funció booleana encarregada de comprobar si un nom d'usuari (paràmetre 1) té un perfil determinat (paràmetre2). 
function comprobarPerfilsUsuari($id_usuari, $id_tipus_perfil){
	
	
	$sql='SELECT id_tipus_perfil FROM perfils where id_usuari="'.$id_usuari.'"';
	$bd=new AccesBBDD();
	$bd->conectar();
	$resultSet=$bd->consultar($sql);
	
		
		while($element =  mysql_fetch_assoc($resultSet)) {
	
		if ($element['id_tipus_perfil']==$id_tipus_perfil){
		return true;
		
		}
		echo $element[0];
	
	
	
	}
return false;
}
}
?>
